/**
 * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
 *
 * This library is free software; you can redistribute it and/or modify it under
 * the terms of the GNU Lesser General Public License as published by the Free
 * Software Foundation; either version 2.1 of the License, or (at your option)
 * any later version.
 *
 * This library is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
 * details.
 */

package de.hsmannheim.pepa.patientenportal.apanwep.service.messaging;

import com.liferay.portal.kernel.messaging.BaseMessageListener;
import com.liferay.portal.kernel.messaging.Message;

import de.hsmannheim.pepa.patientenportal.apanwep.service.ClpSerializer;
import de.hsmannheim.pepa.patientenportal.apanwep.service.chronikLocalServiceUtil;
import de.hsmannheim.pepa.patientenportal.apanwep.service.chronikServiceUtil;
import de.hsmannheim.pepa.patientenportal.apanwep.service.contactLocalServiceUtil;
import de.hsmannheim.pepa.patientenportal.apanwep.service.contactServiceUtil;
import de.hsmannheim.pepa.patientenportal.apanwep.service.messageLocalServiceUtil;
import de.hsmannheim.pepa.patientenportal.apanwep.service.messageServiceUtil;
import de.hsmannheim.pepa.patientenportal.apanwep.service.message_objectsLocalServiceUtil;
import de.hsmannheim.pepa.patientenportal.apanwep.service.message_objectsServiceUtil;
import de.hsmannheim.pepa.patientenportal.apanwep.service.message_participantsLocalServiceUtil;
import de.hsmannheim.pepa.patientenportal.apanwep.service.message_participantsServiceUtil;
import de.hsmannheim.pepa.patientenportal.apanwep.service.messages_mobjectsLocalServiceUtil;
import de.hsmannheim.pepa.patientenportal.apanwep.service.messages_mobjectsServiceUtil;
import de.hsmannheim.pepa.patientenportal.apanwep.service.messages_mparticipantsLocalServiceUtil;
import de.hsmannheim.pepa.patientenportal.apanwep.service.messages_mparticipantsServiceUtil;
import de.hsmannheim.pepa.patientenportal.apanwep.service.objectsLocalServiceUtil;
import de.hsmannheim.pepa.patientenportal.apanwep.service.objectsServiceUtil;
import de.hsmannheim.pepa.patientenportal.apanwep.service.participantsLocalServiceUtil;
import de.hsmannheim.pepa.patientenportal.apanwep.service.participantsServiceUtil;

/**
 * @author Cedric Nana
 */
public class ClpMessageListener extends BaseMessageListener {
	public static String getServletContextName() {
		return ClpSerializer.getServletContextName();
	}

	@Override
	protected void doReceive(Message message) throws Exception {
		String command = message.getString("command");
		String servletContextName = message.getString("servletContextName");

		if (command.equals("undeploy") &&
				servletContextName.equals(getServletContextName())) {
			chronikLocalServiceUtil.clearService();

			chronikServiceUtil.clearService();
			contactLocalServiceUtil.clearService();

			contactServiceUtil.clearService();
			messageLocalServiceUtil.clearService();

			messageServiceUtil.clearService();
			message_objectsLocalServiceUtil.clearService();

			message_objectsServiceUtil.clearService();
			message_participantsLocalServiceUtil.clearService();

			message_participantsServiceUtil.clearService();
			messages_mobjectsLocalServiceUtil.clearService();

			messages_mobjectsServiceUtil.clearService();
			messages_mparticipantsLocalServiceUtil.clearService();

			messages_mparticipantsServiceUtil.clearService();
			objectsLocalServiceUtil.clearService();

			objectsServiceUtil.clearService();
			participantsLocalServiceUtil.clearService();

			participantsServiceUtil.clearService();
		}
	}
}